/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import beans.EleitorBean;
import dao.EleitorDAO;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author programador
 */

public class EleitorControlador implements Serializable {
    
   private EleitorBean eleitorSelecionado;
   private EleitorDAO eleitorDAO;
   private List<EleitorBean> eleitores = new ArrayList<EleitorBean>();
   private List lista;
   
   public List getLista() throws Exception {
        
       EleitorDAO dao = new EleitorDAO();
       this.lista = dao.getTodosContatos();
       return this.lista;
        
   }
   
   public EleitorBean getEleitorSelecionado() {
      return eleitorSelecionado;
   }

   public void setEleitorSelecionado(EleitorBean eleitorSelecionado) {
      this.eleitorSelecionado = eleitorSelecionado;
   }

   public List<EleitorBean> getEleitores() {
      return eleitores;
   }

   public void setEleitores(List<EleitorBean> eleitores) {
      this.eleitores = eleitores;
   }
   
   public List<EleitorBean> complete(String query) throws Exception {
        
      eleitorDAO = new EleitorDAO();
      this.eleitores = eleitorDAO.getTodosContatos();
      List<EleitorBean> sugestoes = new ArrayList<EleitorBean>();
      
      for(EleitorBean e: this.eleitores) {
         if(e.getNome().toUpperCase().startsWith(query.toUpperCase())) {
            sugestoes.add(e);
         }
      }
      return sugestoes;
              
   }
        
    public String salvar(EleitorBean eleitor) {
      
       try {
          EleitorDAO dao = new EleitorDAO();
          dao.salvar(eleitor);
          return "sucesso";
       }
       catch(Exception e) {
          System.out.println("Falha ao tentar salvar eleitor! " + e);
          return "fracasso";
       }
        
    }
    
    public String editar(EleitorBean eleitor) {
      
       try {
          EleitorDAO dao = new EleitorDAO();
          dao.editar(eleitor);
          return "sucesso";
       }
       catch(Exception e) {
          System.out.println("Falha ao tentar editar eleitor! " + e);
          return "fracasso";
       }
        
    }
    
    public String excluir(EleitorBean eleitor) {
        
       try {
          EleitorDAO dao = new EleitorDAO();
          dao.excluirEleitor(eleitor);
          return "sucesso";
       }
       catch(Exception e) {
          System.out.println("Falha ao tentar excluir eleitor! " + e);
          return "fracasso";
       }
        
    }
    
    public String pesquisar(EleitorBean eleitor) {
    
       try {
          EleitorDAO dao = new EleitorDAO();
          dao.getEleitorEspecifico(eleitor.getNome());
          return "sucesso";
       }    
       catch(Exception e) {
          System.out.println("Falha ao tentar pesquisar eleitor! " + e);
          return "fracasso";
       }
       
    }
    
}